Skip to content

Implemented GitHub actions - #8

Merged
tdrhq merged 13 commits into
mainfrom
github-actions
Jan 6, 2026
Merged

tdrhq merged 13 commits into
mainfrom
github-actions

Conversation

@EmilioBejasa

Copy link
Copy Markdown
Contributor

This PR adds automated screenshot testing via GitHub Actions with two workflow options: a basic workflow that runs Android screenshot tests on every PR/push and uploads results as artifacts. Both workflows use an Android API 28 emulator with AVD caching for performance, run the full screenshot test suite, and include comprehensive error reporting.

@github-actions

Copy link
Copy Markdown

📸 Screenshot Test Results

Screenshots have been generated and uploaded.

Captured Screenshots:

View full test results in artifacts

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Unrelated changes to this PR

@github-actions

Copy link
Copy Markdown

📸 Screenshot Test Results

Screenshots have been generated and uploaded.

Captured Screenshots:

View full test results in artifacts

@github-actions

Copy link
Copy Markdown

📸 Screenshot Test Results

Screenshots have been generated and uploaded.

Captured Screenshots:

View full test results in artifacts

@github-actions

Copy link
Copy Markdown

📸 Screenshot Test Results

Screenshots have been generated and uploaded.

Captured Screenshots:

View full test results in artifacts

@github-actions

Copy link
Copy Markdown

📸 Screenshot Test Results

Screenshots have been generated and uploaded.

Captured Screenshots:

View full test results in artifacts

Implements automated screenshot testing workflow that:
- Runs on push to main/github-actions branches and PRs to main
- Sets up Android emulator (Pixel 3a, API 28) with AVD caching
- Executes connectedDebugAndroidTest for all screenshot tests
- Uploads test results and screenshots as artifacts

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
EmilioBejasa and others added 12 commits January 5, 2026 13:42
Add chmod +x step to ensure gradlew has execute permissions
before running tests, fixing the "./gradlew: not found" error.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Move chmod +x command inside emulator runner and pull screenshots
script blocks to ensure permissions are set in the correct context.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Set executable permission bit on gradlew file to fix
"./gradlew: not found" error in GitHub Actions.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Change multiline script to single line with && to ensure
cd and gradlew execution happen in the same shell context.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Add working-directory to run gradlew from android directory.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Run ./android/gradlew with -p android flag instead of trying
to cd into the directory, avoiding path resolution issues.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Facebook screenshot library 0.15.0 has compatibility issues with
API 28. Upgrading to API 30 with google_apis target should resolve
the NoSuchMethodException error.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
API 30 had emulator startup issues. API 29 is more stable in
GitHub Actions. Also added disable-spellchecker option.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- Increase timeout from 30 to 45 minutes
- Add Gradle dependency caching to speed up builds
- Enable parallel Gradle builds and build caching
- Build only x86_64 architecture (emulator arch) instead of all 4
- Increase JVM heap size for faster compilation

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Attempt to fix NoSuchMethodException on API 29 by upgrading
from 0.15.0 to 0.15.1 which may have better compatibility.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Version 0.15.1 doesn't exist. Reverted to 0.15.0 and downgraded
emulator from API 29 to API 26 (Android 8.0) which has better
compatibility with the Facebook screenshot library.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- Add disk space cleanup step to remove unused SDKs
- Fix reactNativeArchitectures to properly build only x86_64
- Previous syntax was incorrect and built all 4 architectures

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
@tdrhq
tdrhq merged commit f374daf into main Jan 6, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants